package 第一讲基础算法;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class AcWing802 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int m=sc.nextInt();
		int N=300010;
		int[] a=new int[N];
		int[] s=new int[N];
		List<Integer> alls=new ArrayList<>();
		List<Pairs> add=new ArrayList<>();
		List<Pairs> query=new ArrayList<>();
		for(int i=0;i<n;i++) {
			int x=sc.nextInt();
			int c=sc.nextInt();
			add.add(new Pairs(x,c));
			alls.add(x);
		}
		for(int i=0;i<m;i++) {
			int l=sc.nextInt();
			int r=sc.nextInt();
			query.add(new Pairs(l,r));
			alls.add(l);
			alls.add(r);
		}
		sc.close();
		//对alls进行排序去重
		alls=alls.stream().distinct().sorted().collect(Collectors.toList());
		for(Pairs item:add) {
			int index=find(item.first,alls);
			a[index]+=item.second;
		}
		//求前缀和
		for(int i=1;i<=alls.size();i++)s[i]=s[i-1]+a[i];
		
		for(Pairs item:query) {
			int l=find(item.first,alls);
			int r=find(item.second,alls);
			System.out.println(s[r]-s[l-1]);
		}
		
	}

	private static int find(int x, List<Integer> list) {
		int l=0;
		int r=list.size()-1;
		while(l<r) {
			int mid=l+r>>1;
			if(list.get(mid)>=x) {
				r=mid;
			}else {
				l=mid+1;
			}
		}
		return r+1;
	}
}

class Pairs{
	int first;
	int second;
	public Pairs(int first,int second) {
		this.first=first;
		this.second=second;
	}
}